﻿using System;
using System.Runtime.Serialization;
using ExplorerService.Common.DataContracts.Operations.Requests;

namespace ExplorerService.Common.DataContracts.Operations
{
    /// <summary>
    /// Base class for all requests
    /// </summary>
    [KnownType(typeof(CreateDirectoryRequest))]
    [KnownType(typeof(UploadFileRequest))]
    [KnownType(typeof(DownloadFileRequest))]
    [KnownType(typeof(DeleteFileRequest))]
    [KnownType(typeof(DeleteDirectoryRequest))]
    [DataContract]
    public class RequestBase
    {
        /// <summary>
        /// Gets/Sets the ID of the request
        /// </summary>
        [DataMember]
        public Guid Id { get; set; }
    }
}
